package com.sgcc.pda.lib_tools_database.factory;

import org.greenrobot.greendao.Property;

import java.util.List;

/**
 * 描 述：通用增、删、改、查接口
 * 作 者：小卷毛  2020-09-13 09:43
 * 修改描述：
 * 修 改 人：
 * 修改版本：
 */
public interface ICommonable<T> {

    /**
     * 插入单个数据
     */
    void insert(T bean);

    /**
     * 批量插入
     */
    void insertList(List<T> list);

    /**
     * 删除数据
     */
    void delete(T bean);

    /**
     * 删除所有数据
     */
    void deleteAll();

    /**
     * 更新数据
     */
    void updateData(T bean);

    /**
     * 批量更新数据
     */
    void updateList(List<T> list);

    /**
     * 查询所有的数据
     */
    List<T> findDataAll();

    /**
     * 查询单个数据
     */
    T findData(Property where, String param);

    /**
     * 根据自定义查询条件查询数据
     */
    List<T> findByParam(Property[] wheres, String[] params);

}
